package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 多站点曲线分析对象 dispatchSiteCurve
 * 
 * @author ruoyi
 * @date 2025-03-02
 */
public class DispatchSiteCurve extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 多站点曲线分析编号 */
    @Excel(name = "多站点曲线分析编号")
    private Long siteCurveId;

    /** 站点 ID */
    @Excel(name = "站点 ID")
    private Long monitoringSitesId;

    /** 监测项 ID */
    @Excel(name = "监测项 ID")
    private Long monitoringItemId;

    /** 用户选择的统计起始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "用户选择的统计起始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 用户选择的统计结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "用户选择的统计结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 在所选时间范围内 */
    @Excel(name = "在所选时间范围内")
    private BigDecimal maxValue;

    /** 在所选时间范围内 */
    @Excel(name = "在所选时间范围内")
    private BigDecimal minValue;

    /** 在所选时间范围内 */
    @Excel(name = "在所选时间范围内")
    private BigDecimal averageValue;

    /** 监测项分组 ID */
    @Excel(name = "监测项分组 ID")
    private Long monitoringItemGroupId;

    /** 操作类型 */
    @Excel(name = "操作类型")
    private String operationType;

    /** 对分组进行操作的时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "对分组进行操作的时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date operationTime;

    /** 数据导出状态 */
    @Excel(name = "数据导出状态")
    private Integer exportStatus;

    /** 创建人 */
    @Excel(name = "创建人")
    private String creator;

    /** 更新人 */
    @Excel(name = "更新人")
    private String updater;

    /** 数据导出时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "数据导出时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date exportTime;

    public void setSiteCurveId(Long siteCurveId) 
    {
        this.siteCurveId = siteCurveId;
    }

    public Long getSiteCurveId() 
    {
        return siteCurveId;
    }
    public void setMonitoringSitesId(Long monitoringSitesId) 
    {
        this.monitoringSitesId = monitoringSitesId;
    }

    public Long getMonitoringSitesId() 
    {
        return monitoringSitesId;
    }
    public void setMonitoringItemId(Long monitoringItemId) 
    {
        this.monitoringItemId = monitoringItemId;
    }

    public Long getMonitoringItemId() 
    {
        return monitoringItemId;
    }
    public void setStartTime(Date startTime) 
    {
        this.startTime = startTime;
    }

    public Date getStartTime() 
    {
        return startTime;
    }
    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }
    public void setMaxValue(BigDecimal maxValue) 
    {
        this.maxValue = maxValue;
    }

    public BigDecimal getMaxValue() 
    {
        return maxValue;
    }
    public void setMinValue(BigDecimal minValue) 
    {
        this.minValue = minValue;
    }

    public BigDecimal getMinValue() 
    {
        return minValue;
    }
    public void setAverageValue(BigDecimal averageValue) 
    {
        this.averageValue = averageValue;
    }

    public BigDecimal getAverageValue() 
    {
        return averageValue;
    }
    public void setMonitoringItemGroupId(Long monitoringItemGroupId) 
    {
        this.monitoringItemGroupId = monitoringItemGroupId;
    }

    public Long getMonitoringItemGroupId() 
    {
        return monitoringItemGroupId;
    }
    public void setOperationType(String operationType) 
    {
        this.operationType = operationType;
    }

    public String getOperationType() 
    {
        return operationType;
    }
    public void setOperationTime(Date operationTime) 
    {
        this.operationTime = operationTime;
    }

    public Date getOperationTime() 
    {
        return operationTime;
    }
    public void setExportStatus(Integer exportStatus) 
    {
        this.exportStatus = exportStatus;
    }

    public Integer getExportStatus() 
    {
        return exportStatus;
    }
    public void setCreator(String creator) 
    {
        this.creator = creator;
    }

    public String getCreator() 
    {
        return creator;
    }
    public void setUpdater(String updater) 
    {
        this.updater = updater;
    }

    public String getUpdater() 
    {
        return updater;
    }
    public void setExportTime(Date exportTime) 
    {
        this.exportTime = exportTime;
    }

    public Date getExportTime() 
    {
        return exportTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("siteCurveId", getSiteCurveId())
            .append("monitoringSitesId", getMonitoringSitesId())
            .append("monitoringItemId", getMonitoringItemId())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("maxValue", getMaxValue())
            .append("minValue", getMinValue())
            .append("averageValue", getAverageValue())
            .append("monitoringItemGroupId", getMonitoringItemGroupId())
            .append("operationType", getOperationType())
            .append("operationTime", getOperationTime())
            .append("exportStatus", getExportStatus())
            .append("createTime", getCreateTime())
            .append("creator", getCreator())
            .append("updater", getUpdater())
            .append("updateTime", getUpdateTime())
            .append("exportTime", getExportTime())
            .toString();
    }
}
